<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <% String contextPath = request.getContextPath(); %>
    <%@ page import="java.util.*" %>
    <%@ page import="common.*" %>
    <%@page import="java.util.regex.Pattern" %>
    
    <%
    String msg= (String)request.getAttribute("msg");
    String msg_stock= (String)request.getAttribute("msg_stock");
    String[] msg_code= (String[])request.getAttribute("msg_code");
	Cart cart= (Cart)session.getAttribute("opecart");
    Customer cs=(Customer)session.getAttribute("customer");
    
    String[] inp_codes = request.getParameterValues("code");
    String[] inp_orders = request.getParameterValues("orders");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
			<link href="<%= contextPath %>/css/order.css" rel="stylesheet" type="text/css">
		<link href="<%= request.getContextPath() %>/css/order_Input.css" rel="stylesheet" type="text/css" />
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>受注Entry</title>
	</head>
	<body  id="orderlist">
	<div id="orderinput">
		<p style="color: red">
		${msg}
		${msg_stock}
		</p>
		<form action="<%= request.getContextPath() %>/orderOpe/OrderCheckServlet">
		
			<p>注文者： <%=cs.getName() %> 様</p>
			<table  id="oi">
				<thead>
					<tr>
						<td>商品コード</td>
						<td>商品名</td>
						<td>規格</td>
						<td>単価</td>
						<td>数量</td>
						<td>在庫数</td>
					</tr>
				</thead>

					<% List<OrderItem> items = cart.getItems(); %>
					<% for(int i=0; i<10; i++){ %>
					<% 		OrderItem item	= null; %>
					<% 		String code 	= null; %>
					<% 		String orders 	= null; %>
					<% 	 	Item It 		= null; %>
					<% 		if(i < items.size()) { %>
					<% 	 		item = items.get(i); %>
					<% 	 		code = item.getItem_code(); %>
					<% 	 		It = Item.find_by_code(code); %>
					<%		} %>
					<tr>
						<!-- 商品コード -->
						<td>
							<%
								//	カートに登録されている
								if (i < items.size()) {
									out.println("<input type='text' name='code' value='" + code + "' />");
								}
								//	カートに登録されていない
								else {
									//	入力された商品コード
									code 	= inp_codes[i];
									orders 	= inp_orders[i];
									//	商品コード未入力で数量を入力している
									if ((code == null || code.length() == 0) && (orders != null && orders.length() > 0)) {
										out.println("<input type='text' name='code' class='err' />");
									}
									else {
										//	商品コード未入力で数量も未入力
										if (code == null || code.length() == 0) {
											out.println("<input type='text' name='code' />");
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
												out.println("<input type='text' name='code' value='" + code + "' class='err' />");
											}
											//	商品情報が存在する
											else {
												out.println("<input type='text' name='code' value='" + code + "' />");
											}
										}
									}
								}
							%>
						</td>
						<!-- 商品名 -->
						<td>
							<%
								//	カートに登録されている
								if (i < items.size()) {
									out.println(It.getName());
								}
								//	カートに登録されていない
								else {
									//	入力された商品コード
									code 	= inp_codes[i];
									orders 	= inp_orders[i];
									//	商品コード未入力で数量を入力している
									if ((code == null || code.length() == 0) && (orders != null && orders.length() > 0)) {
										out.println("<span class='err'>商品コードが未入力です</span>");
									}
									else {
										//	商品コード未入力で数量も未入力
										if (code == null || code.length() == 0) {
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
												out.println("<span class='err'>商品コードが未登録です</span>");
											}
											//	商品情報が存在する
											else {
												out.println(Item.find_by_code(code).getName());
											}
										}
									}
								}
							%>
						</td>
						<!-- 規格 -->
						<td>
							<%
								//	カートに登録されている
								if (i < items.size()) {
									out.println(It.getSize());
								}
								
								//	カートに登録されていない
								else {
									//	入力された商品コード
									code 	= inp_codes[i];
									orders 	= inp_orders[i];
									//	商品コード未入力で数量を入力している
									if ((code == null || code.length() == 0) && (orders != null && orders.length() > 0)) {
									}
									else {
										//	商品コード未入力で数量も未入力
										if (code == null || code.length() == 0) {
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
											}
											//	商品情報が存在する
											else {
												out.println(Item.find_by_code(code).getSize());
											}
										}
									}
								}

							%>
						</td>
						<!-- 単価 -->
						<td>
							<%
								//	カートに登録されている
								if (i < items.size()) {
									out.println(It.getPrice());
								}
								//	カートに登録されていない
																else {
									//	入力された商品コード
									code 	= inp_codes[i];
									orders 	= inp_orders[i];
									//	商品コード未入力で数量を入力している
									if ((code == null || code.length() == 0) && (orders != null && orders.length() > 0)) {
									}
									else {
										//	商品コード未入力で数量も未入力
										if (code == null || code.length() == 0) {
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
											}
											//	商品情報が存在する
											else {
												out.println(Item.find_by_code(code).getPrice());
											}
										}
									}
								}

							%>
						</td>
						<!-- 数量 -->
						<td>
							<%	
								//	カートに登録されている
								if (i < items.size()) {
									int or=item.getOrders();
									if(or > It.getStock()){
										out.println("<input type='text' name='orders' value='" + or + "' class='err' />");
									}
									else{
										out.println("<input type='text' name='orders' value='" + or + "' />");
									}
								}
								//	カートに登録されていない
								else {
									//	入力された商品コード
									code 	= inp_codes[i];
									//	入力された注文数
									orders 	= inp_orders[i];
									//	商品コード入力していて数量を未入力
									if ((code != null && code.length() > 0) && (orders == null || orders.length() == 0)) {
										out.println("<input type='text' name='orders' class='err' />");
									}
									else {
										//	商品コード未入力で数量も未入力
										if (orders == null || orders.length() == 0) {
											out.println("<input type='text' name='orders' />");
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
												out.println("<input type='text' name='orders' value='" + orders + "' />");
											}
											//	商品情報が存在する
											else {
												//	数字以外が入力された
												Pattern p = Pattern.compile("[0-9]{1,4}");
												if(!p.matcher(orders).matches()){
													out.println("<input type='text' name='orders' value='" + orders + "' class='err' />");
												}
												
												//	注文数が在庫数を超えた
												else if(Integer.parseInt(orders) > Item.find_by_code(code).getStock()){
													out.println("<input type='text' name='orders' value='" + orders + "' class='err' />");
												}
												else{
													out.println("<input type='text' name='orders' value='" + orders + "' />");
												}
											}
										}
									}
								}
							%>
						</td>


												<!-- 在庫数 -->
						<td>
							<%
								//	カートに登録されている
								if (i < items.size()) {
									out.println(It.getStock());
								}
								
								//	カートに登録されていない
								else {
									//	入力された商品コード
									code 	= inp_codes[i];
									orders 	= inp_orders[i];
									//	商品コード未入力で数量を入力している
									if ((code == null || code.length() == 0) && (orders != null && orders.length() > 0)) {
									}
									else {
										//	商品コード未入力で数量も未入力
										if (code == null || code.length() == 0) {
										}
										//	商品コードが入力されたけどカートに登録されていない
										else {
											//	商品情報が存在しない
											if (Item.find_by_code(code) == null) {
											}
											
											//	商品情報が存在する
											else {
												out.println(Item.find_by_code(code).getStock());
											}
										}
									}
								}

							%>
						</td>
					</tr>
					<% } %>
			</table>
			<input type="submit" value="確認" id="log">
		</form>
		</div>
	</body>
</html>